System and Method for Scheduled Events to Subscribe to Live Information Topics

ABSTRACT

A calendar system stores and organizes materials related to scheduled events, to-dos, addresses, etc. and allows a user to browse a calendar and select entries for viewing. In addition, each entry is linked to any number of topics related to that entry and up-to-date information on these topics are displayed when the entry is viewed. Topics are published on topic channels by one or more topic providers and a calendar system administrator defines which topics relate to which calendar entries. When a client enters information related to a new calendar entry or event, the calendar system determines which topics relate to that event and identifies corresponding topic channels which currently exist or need to be created between the calendar system and the topic providers. Finally, in each calendar entry, links are created to local versions of the appropriate topic channels and the entry is then persistently stored. Multiple calendar events and multiple calendar users are able to link to the same local topic channel and thereby reduce data searching, retrieval, and storage costs.

RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 09/531,016, filed Mar. 20, 2000.

BACKGROUND OF THE INVENTION

1. Field of Invention

The present invention relates generally to the field of electronic calendar systems. More specifically, the present invention is related to accessing dynamic content linked to different calendar events.

2. Discussion of Prior Art

In traditional electronic scheduling or calendaring systems, entries are static. They are entered by a calendar user as a reminder for a future event and, perhaps, an accompanying alarm is set as well. Recently, it has been recognized that it would be useful for a calendar system to automatically retrieve additional information related to the scheduled events or entries. Examples of additional information that can be automatically collected and tied to a calendar entries include information about meeting participants, flight itineraries, driving instructions, and weather forecasts. While this general concept has previously been identified, the prior art fails to provide details regarding how to implement the capability of linking calendar events and related dynamic information. The following two patents provide an introduction to electronic calendaring systems and locating additional information relevant to a calendar entry.

The patent to Borovoy et al. (U.S. Pat. No. 5,842,009) provides for a system which automatically retrieves documents relevant to a user's calendar event. This reference focuses on determining when to retrieve information and how to determine what information might be most relevant.

The patent to Rasansky et al. (U.S. Pat. No. 5,960,406) provides for a computerized calendar and scheduling system which allows access to web-based clients. However, no teaching of dynamic content delivery is provided.

Whatever the precise merits and features of the prior art in this field, the earlier art does not achieve or fulfill the purposes of the present invention. The prior art does not provide for sharing and linking additional information among multiple calendar events and multiple calendar users; nor does it provide methods for updating and refreshing dynamic information.

SUMMARY OF THE INVENTION

A calendar system stores and organizes materials related to scheduled events, to-dos, addresses, etc. and allows a user to browse a calendar and select entries for viewing. In addition, each entry is linked to any number of topics related to that entry and up-to-date information on these topics are displayed when the entry is viewed. Topics are published on topic channels by one or more topic providers and a calendar system administrator defines which topics relate to which calendar entries. When a client enters information related to a new calendar entry or event, the calendar system determines which topics relate to that event and identifies corresponding topic channels which currently exist, or need to be created, between the calendar system and the topic providers. Finally, in each calendar entry, links are created to local versions of the appropriate topic channels and the entry is then persistently stored. Multiple calendar events and multiple calendar users are able to link to the same local topic channel and thereby reduce data searching, retrieval, and storage costs.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates the overall architecture of a calendar system according to the present invention.

FIG. 2 illustrates a flowchart of a method of linking a topic channel to a new calendar event according to the present invention.

FIG. 3 illustrates a flowchart of a method of removing a topic channel according to the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

While this invention is illustrated and described in a preferred embodiment, the invention may be produced in many different configurations, forms and materials. There is depicted in the drawings, and will herein be described in detail, a preferred embodiment of the invention, with the understanding that the present disclosure is to be considered as a exemplification of the principles of the invention and the associated functional specifications of the materials for its construction and is not intended to limit the invention to the embodiment illustrated. Those skilled in the art will envision many other possible variations within the scope of the present invention.

The following definitions may assist in understanding terminology used throughout the present specification:

Service: Services gather information, organize the information into topics and publish the information periodically to update its subscribers. Services are typically distributed across a number of separate servers across multiple networks.

Service Parameters: Service parameters control things such as refresh rates for individual topics, information retrieval control parameters, etc.

Topic: A topic is a node in a topic tree. Topic names are hierarchical. For example, a weather service has two topics “Weather/San Jose” and “Weather/Boston”. A subscriber can subscribe to any of these two topics; meaning the subscriber retrieves weather forecasts from both San Jose and Boston. The subscriber can also subscribe to the root topic, “Weather”.

Topic Channel: A topic channel is used to pass messages from a topic publisher to a topic subscriber. Sun's™ Java Messaging Service Interface is one standard for setting up publisher/subscriber infrastructures across networks. Microsoft's™ Channel Definition Format (CDF) is a specification regarding how web publishers can offer frequently updated collections of information to interested subscribers.

FIG. 1 depicts the logical components of the present invention along with their interconnections. The principles and operation of the present invention are provided by discussing the flow of information between these logical components. Calendar Server 100 is illustrated as a single entity; however, the present invention also contemplates the logical components of server 100 distributed across networked systems.

Calendar Server 100 handles request 120 from a client (not shown) and, in response, creates new calendar event (or entry, throughout the specification these terms are used interchangeably) 108. In particular, Request Handler 102 receives request 120 for a new event 108 to be scheduled and begins processing it. Request Handler 102 first passes new event 108 to Topic Selector 104.

Topic Selector 104 receives new event 108 and retrieves from Topic Binding Repository 106 all the services which are associated with new event 108. Specifically, Topic Selector 104 extracts relevant information from new event 108 and forwards it to Repository 106 which then maps the event's category (e.g. meeting, travel, vacation etc.) and the event's properties (e.g. departure location, destination, date, etc.) to a number of corresponding services. Repository 106 and its mappings are typically set up by a calendar administrator; however, the present invention also contemplates within its scope custom editing of Repository 106 entries by clients. As an example, when a client schedules a business trip to Boston, Mass. in their calendar, Topic Selector 104 looks in Topic Binding Repository 106 under the business trip category and finds (for example) mapping entries identifying two services: “Weather” and “FlightSchedules”. Further, Topic Selector 104 extracts, from new event 108, the destination for this business trip which results in the construction of two topic names: “Weather/MA/Boston” and “FlightSchedules/SJC/Boston”. Many additional topic names and services are contemplated within the scope of the present invention.

The list of topic names generated from Topic Binding Repository 106 is passed to Topic Finder 110 which returns a list of Topic Channels 114 a, 114 b and 114 c. In particular, Topic Finder 110 takes the list of topic names and, for each name, checks whether there is an existing Topic Channel already set-up. If there is, then this existing Topic Channel is used. If not, then a new Topic Channel must be created for new event 108. To create a new Topic Channel, Topic Finder 110 instructs Topic Creator 112 to create an appropriate, new Topic Channel for new event 108.

Topic Creator 112 receives one or more topic names (e.g. Weather/AZ/Tucson) from Topic Finder 110 and sends a request to an administrator 160 of a remote Topic Provider 150 to create a new Topic 156 a, 156 b and 156 c and Topic Channel 158 a, 158 b and 158 c for a given topic name. Upon successful creation, Topic Creator 112 creates corresponding local Topic Channel(s) 114 a, 114 b and 114 c, which are also linked to remote Topic Channels 158 a, 158 b and 158 c, and returns these channel names to Topic Finder 110. Remote Topic Provider(s) 150 and their administrator(s) 160 control, using known methods, how services 154 a and 154 b, Topics 156 a, 156 b and 156 c, and Topic Channels 158 a, 158 b and 158 c are internally managed and arranged. While depicted as a homogeneous block in FIG. 1, multiple and distributed Topic Providers 150 are also considered within the scope of the present invention.

Topic Finder 110 receives from Topic Creator 112 a list of topic channels (existing or newly created) corresponding to new event 108 and forwards this list to Topic Selector 104 which then passes the list to Request Handler 102.

Request Handler 102 continues processing new event 108 by adding a link in new event 108 to each Topic Channel 114 a, 114 b and 114 c received from Topic Selector 104. Finally, Request Handler 102 stores new event 108 in a persistent calendar store (not shown) in order to allow retrieval at a later time.

In the event that a client requests deletion of a scheduled event, Request Handler 102 first removes all the links to the event's Topic Channels and then proceeds to erase the event from the persistent calendar store.

FIG. 2 depicts a flowchart of the logic of creating links to topic channels in new events. This figure focuses on the flow of the logic without explicit references to the components performing the steps.

First, a new event is retrieved in step 202. Next, in step 204, topic names are determined which correspond to this type of event and to the data characterizing this event. These topic names are individually looped through, in step 206, to determine if a corresponding Topic Channel exists (step 208) or needs to be created (step 210). In step 212, a list of corresponding Topic Channels is constructed and step 214 loops back around to ensure all topic names have been analyzed. Processing continues, in step 216, by linking the identified Topic Channels to the new event. After storing the new event in any type of well-known computer storage media, in step 218, processing finishes in step 220.

FIG. 3 illustrates the logical flow of removing a subscriber from a topic. In step 302, the link from an event to a topic is deleted and step 304 tests whether there are any other links to the particular topic. If there are, then the flow ends in step 308. If there are no other links, however, the topic is deleted in step 306 and then flow completes with step 308.

The present invention allows calendar events to subscribe to specific topics that are relevant to that particular event. Relevant topics include weather forecasts, flight schedules, traffic reports, local news stories and other information. Information is published by an information service and retrieved by one or more information subscribers. Using the infrastructure of the present invention, multiple calendar events are able to share the same information by having each separate event, which relies on similar live information, link to the same local Topic Channel. For example, if two calendar users are traveling to New York on the same day, both events are linked to information retrieved from the New York weather topic and New York local news topic. The present invention relieves the need to repeatedly search, retrieve and store additional information for every single calendar event scheduled. These performance improvements are true for different calendar events belonging to a single user as well as separate calendar events belonging to different users.

CONCLUSION

A system and method has been shown in the above embodiments for the effective implementation of linking electronic calendar events to related, dynamic information by subscribing the events to live information topics. While various preferred embodiments have been shown and described, it will be understood that there is no intent to limit the invention by such disclosure, but rather, it is intended to cover all modifications and alternate constructions falling within the spirit and scope of the invention and as further defined in the appended claims. For example, the present invention should not be limited by calendaring software/program, computing environment, specific computing hardware, specific information service providers, particular publication/subscription hierarchies, specific enterprise messaging interfaces, particular push-content technologies and specific distributed arrangement of the system's functional components. In addition, the present invention may be implemented on a conventional IBM PC or equivalent, multi-nodal system (e.g. LAN), across extended networks such as the Internet or using portable equipment such as laptop computers or wireless equipment (RF, microwaves, infrared, photonics, etc.). 

1. A method for scheduled events to subscribe to topic channels comprising the steps of: a. receiving information entered via a computer, said entered information related to an event scheduled by a subscriber; b. identifying a category associated with said event; c. identifying at least one service associated with said identified category in (b); d. constructing at least one topic name using said identified category in (b) and said identified service in (c); e. either: i. mapping said constructed topic name in (d) to at least one existing topic channel, or ii. creating a new topic channel and mapping said constructed topic name to said to said newly created topic channel; said existing topic channel or said newly created topic channel being maintained by at least one topic publisher, said topic publisher providing service messages related to said event to said subscriber via said existing topic channel or said newly created topic channel; f. storing in storage, along with said entered information in (a), a link to said existing topic channel or said newly created topic channel; and g. receiving updated to said service messages related to said event from said topic publisher for said topic channel associated.
 2. The method of claim 1, wherein said event is a calendar event.
 3. The method claim 1, wherein at least two subscribers share said topic channel.
 4. The method of claim 1, wherein said storage is a persistent computer storage.
 5. The method of claim 1, wherein said method is implemented locally or remotely on one or more computer-based systems.
 6. The method of claim 1, wherein said method is implemented across networks comprising any of LANs, WANs, cellular, Internet, or Web-based networks.
 7. An article of manufacture comprising a computer usable medium having a computer readable program code embodied therein to subscribe scheduled events to topic channels, said medium comprising: a. computer readable program code aiding in receiving information entered via a computer, said entered information related to an event scheduled by a subscriber; b. computer readable program code identifying a category associated with said event; c. computer readable program code aiding in identifying at least one service associated with said identified category in (b); d. computer readable program code aiding in constructing at least one topic name using said identified category in (b) and said identified service in (c); e. either: i. computer readable program code mapping said constructed topic name in (d) to at least one existing topic channel, or ii. computer readable program code creating a new topic channel and computer readable program code mapping said constructed topic name to said to said newly created topic channel; said existing topic channel or said newly created topic channel being maintained by at least one topic publisher, said topic publisher providing service messages related to said event to said subscriber via said existing topic channel or said newly created topic channel; f. computer readable program code aiding in storing, in storage, along with said entered information in (a), a link to said existing topic channel or said newly created topic channel; and g. computer readable program code aiding in receiving updated to said service messages related to said event from said topic publisher for said topic channel associated.
 8. The article of manufacture of claim 7, wherein said event is a calendar event.
 9. The article of manufacture of claim 7, wherein at least two subscribers share said topic channel.
 10. The article of manufacture of claim 7, wherein said storage is a persistent computer storage.
 11. A method for scheduled events to subscribe to topic channels comprising the steps of: a. receiving an calendar entry entered via a computer, said calendar entry related to an event scheduled by a subscriber; b. identifying a category associated with said event; c. identifying at least one service associated with said identified category in (b); d. constructing at least one topic name using said identified category in (b) and said identified service in (c); e. either: i. mapping said constructed topic name in (d) to at least one existing topic channel, or ii. creating a new topic channel and mapping said constructed topic name to said to said newly created topic channel; said existing topic channel or said newly created topic channel being maintained by at least one topic publisher, said topic publisher providing service messages related to said event to said subscriber via said existing topic channel or said newly created topic channel; f. storing in storage, along with said calendar entry in (a), a link to said existing topic channel or said newly created topic channel; and g. receiving updated to said service messages related to said event from said topic publisher for said topic channel associated.
 12. The method claim 11, wherein at least two subscribers having substantially similar calendar entries share said topic channel.
 13. The method of claim 11, wherein said storage is a persistent computer storage.
 14. The method of claim 11, wherein said method is implemented locally or remotely on one or more computer-based systems.
 15. The method of claim 11, wherein said method is implemented across a network, said network comprising any of the following: local area network (LAN), wide area network (WAN), or the Internet. 